No functionality change at this time. I've split _LIBCPP_VISIBLE up into two flags: _LIBCPP_TYPE_VIS and _LIBCPP_FUNC_VIS. This is in preparation for taking advantage of clang's new __type_visibility__ attribute. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@176593 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/include/chrono b/include/chrono index 508c1f3..3b96e81 100644 --- a/include/chrono +++ b/include/chrono 
@@ -279,7 +279,7 @@  namespace chrono  {   -template <class _Rep, class _Period = ratio<1> > class _LIBCPP_VISIBLE duration; +template <class _Rep, class _Period = ratio<1> > class _LIBCPP_TYPE_VIS duration;    template <class _Tp>  struct __is_duration : false_type {}; @@ -299,7 +299,7 @@  } // chrono    template <class _Rep1, class _Period1, class _Rep2, class _Period2> -struct _LIBCPP_VISIBLE common_type<chrono::duration<_Rep1, _Period1>, +struct _LIBCPP_TYPE_VIS common_type<chrono::duration<_Rep1, _Period1>,  chrono::duration<_Rep2, _Period2> >  {  typedef chrono::duration<typename common_type<_Rep1, _Rep2>::type, @@ -377,10 +377,10 @@  }    template <class _Rep> -struct _LIBCPP_VISIBLE treat_as_floating_point : is_floating_point<_Rep> {}; +struct _LIBCPP_TYPE_VIS treat_as_floating_point : is_floating_point<_Rep> {};    template <class _Rep> -struct _LIBCPP_VISIBLE duration_values +struct _LIBCPP_TYPE_VIS duration_values  {  public:  _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR _Rep zero() {return _Rep(0);} @@ -391,7 +391,7 @@  // duration    template <class _Rep, class _Period> -class _LIBCPP_VISIBLE duration +class _LIBCPP_TYPE_VIS duration  {  static_assert(!__is_duration<_Rep>::value, "A duration representation can not be a duration");  static_assert(__is_ratio<_Period>::value, "Second template parameter of duration must be a std::ratio"); @@ -696,7 +696,7 @@  //////////////////////////////////////////////////////////    template <class _Clock, class _Duration = typename _Clock::duration> -class _LIBCPP_VISIBLE time_point +class _LIBCPP_TYPE_VIS time_point  {  static_assert(__is_duration<_Duration>::value,  "Second template parameter of time_point must be a std::chrono::duration"); @@ -740,7 +740,7 @@  } // chrono    template <class _Clock, class _Duration1, class _Duration2> -struct _LIBCPP_VISIBLE common_type<chrono::time_point<_Clock, _Duration1>, +struct _LIBCPP_TYPE_VIS common_type<chrono::time_point<_Clock, _Duration1>,  chrono::time_point<_Clock, _Duration2> >  {  typedef chrono::time_point<_Clock, typename common_type<_Duration1, _Duration2>::type> type; @@ -863,7 +863,7 @@  /////////////////////// clocks ///////////////////////////  //////////////////////////////////////////////////////////   -class _LIBCPP_VISIBLE system_clock +class _LIBCPP_TYPE_VIS system_clock  {  public:  typedef microseconds duration; @@ -877,7 +877,7 @@  static time_point from_time_t(time_t __t) _NOEXCEPT;  };   -class _LIBCPP_VISIBLE steady_clock +class _LIBCPP_TYPE_VIS steady_clock  {  public:  typedef nanoseconds duration;